//package com.tjetc._5interface;
//
//public class _2InterfaceDetail {
//    public static void main(String[] args) {
//        /*
//            接口的细节：
//            1.接口能创建对象么？不能
//            2.接口中的属性是final？因为接口是一个规范 不能改的
//            3.接口中的属性是static？因为接口是一个规范 对谁都适用
//            4.接口中的属性是public？接口的目的就是给别人用的
//
//            5.接口中的方法是抽象方法 可以省略public 以及abstract关键字
//            6.从JDK1.8开始 接口可以有默认实现
//            7.如果不是先接口的方法，需要将类变成抽象类
//
//            8.类可以多实现：接口跟灵活 继承只能单继承 接口是一种能力
//            9.接口可以继承接口，而且可以多继承，但是不能继承类 拓展坞
//
//
//
//            注意：接口本身自己是毫无用处的，它就是用来被实现的 接口之间使用逗号 分割
//            接⼝体现了程序设计的多态和⾼内聚（把相关的东西聚集在一起）低偶合的设计思想
//
//         */
//
//        //A a = new A();
//        System.out.println(A.A);
//
//    }
//}
//
//// 接口可以多继承
//interface E extends A, C {
//
//}
//
//
//
//abstract class D implements A {
//
//}
//
//class B implements A, C{
//
//    @Override
//    public void f() {
//
//    }
//    // 由于在多个接口中出现了相同的默认实现，所以需要实现类 去选择到底使用哪一个
//    @Override
//    public void f1() {
//        System.out.println("f1");
//    }
//}
//
//interface A {
//    // 属性
//    int A = 1;
//
//    // 方法
//    void f();
//
//    // 方法的默认实现 但是不推荐 容易造成方法的冲突
//    default void f1(){
//        System.out.println("f1执行");
//    }
//}
//
//interface C {
//
////    default void f1(){
////        System.out.println("f1执行");
////    }
//}